Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

134
Visualizações
Limitación de contenedores a tres tamaños fijos

Estoy mirando el diseño de la cuadrícula de reacción que se basa en la cuadrícula de 12 columnas de Material Design. ¿Hay alguna manera de proporcionar tamaños predefinidos para que los contenedores se adhieran a los siguientes 3 tamaños: 1 de ancho completo (12 columnas), media cuadrícula (6 columnas) o 1/3 de cuadrícula (4 columnas)?

Salvadera

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Supongo que cuando dice contenedor, se refiere a los elementos de diseño. Si ese es el caso, use un método onResize personalizado. Usando el código de sandbox que tiene de su pregunta:

 export default class ShowcaseLayout extends React.Component { constructor(props) { ... // add the line below this.onResize = this.onResize.bind(this); } ... // add the method onResize(layout, oldLayoutItem, layoutItem, placeholder) { // `oldLayoutItem` contains the state of the item before the resize. // You can modify `layoutItem` to enforce constraints. const allowableW = this.props.cols[this.state.currentBreakpoint] - oldLayoutItem.x if (layoutItem.w <= 4) { layoutItem.w = 4; placeholder.w = 4; } else if (layoutItem.w <= 6) { layoutItem.w = allowableW < 6 ? 4 : 6; placeholder.w = allowableW < 6 ? 4 : 6; } else { layoutItem.w = allowableW < 12 ? 6 : 12; placeholder.w = allowableW < 12 ? 6 : 12; } } render() { return ( <div> ... <ResponsiveReactGridLayout ... {/* bind method to component */} onResize={this.onResize} > {this.generateDOM()} </ResponsiveReactGridLayout> </div> ); } } ShowcaseLayout.propTypes = { onLayoutChange: PropTypes.func.isRequired }; ShowcaseLayout.defaultProps = { ... // ensure your breakpoints have a minimum of 4 columns cols: { lg: 12, md: 10, sm: 6, xs: 4, xxs: 4 }, }; function generateLayout() { return _.map(_.range(0, 25), function (item, i) { var y = Math.ceil(Math.random() * 4) + 1; return { x: (_.random(0, 5) * 2) % 12, y: Math.floor(i / 6) * y, // set item's default width to 4 w: 4, h: y, i: i.toString(), static: Math.random() < 0.05 }; }); }

MANIFESTACIÓN

about 4 years ago · Juan Pablo Isaza Relatório

0

No sé mucho sobre react-grid-layout .

Pero puede hacerlo con un simple cambio en la propiedad cols de ShowcaseLayout.defaultProps como sigue.

 ShowcaseLayout.defaultProps = { className: "layout", rowHeight: 30, onLayoutChange: function() {}, cols: { lg: 12, md: 12, sm: 6, xs: 4, xxs: 4 }, initialLayout: generateLayout() };

Caja de arena ACTUALIZADA

about 4 years ago · Juan Pablo Isaza Relatório

0

Sí, ciertamente puedes hacer eso con react-grid-layout . En la sección de su documentación etiquetada como "Uso sin Browserify/Webpack" , tienen este fragmento de código:

 import { Responsive as ResponsiveGridLayout } from 'react-grid-layout'; class MyResponsiveGrid extends React.Component { render() { // {lg: layout1, md: layout2, ...} const layouts = getLayoutsFromSomewhere(); return ( <ResponsiveGridLayout className="layout" layouts={layouts} breakpoints={{lg: 1200, md: 996, sm: 768, xs: 480, xxs: 0}} cols={{lg: 12, md: 10, sm: 6, xs: 4, xxs: 2}}> <div key="1">1</div> <div key="2">2</div> <div key="3">3</div> </ResponsiveGridLayout> ) } }

Puede modificar los puntos de interrupción como desee, que indican en qué ancho de pantalla/ventana la pantalla considerará un nuevo tamaño (p. ej., lg frente a md frente a sm , etc.).

Una vez que haya definido sus puntos de breakpoints , defina cuántas columnas desea que esté cada contenedor en diferentes puntos de interrupción utilizando el atributo cols . Si solo desea los tres tamaños que mencionó: 1 ancho completo (12 columnas), ½ cuadrícula (6 columnas) y ⅓ cuadrícula (4 columnas), ajuste el atributo de cols a algo como esto:

 cols={{lg: 12, md: 6, sm: 6, xs: 4, xxs: 4}}

Con estos valores redefinidos, los elementos de esta cuadrícula tendrán el ancho completo en las ventanas gráficas lg , la mitad de la cuadrícula en las ventanas gráficas md y sm , y la mitad de la cuadrícula en las ventanas gráficas xs y xxs .

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda