Как мне указать DetailsList
, чтобы он отображал только X строк и полосу прокрутки для доступа к остальным? Я уверен, что просто упускаю что-то довольно очевидное.
Я могу сделать это, передав styles
для root
, но это вызывает как вертикальную, так и горизонтальную полосу прокрутки, и я уверен, что это не так правильный способ сделать это с помощью пользовательского интерфейса Fabri c.
Вот минимальный пример, показывающий, как это делается:
const { useState } = React;
const { DetailsList } = Fabric;
const items = [
"alpha", "bravo", "charlie", "delta", "echo",
"foxtrot", "golf", "hotel", "indigo", "juliet",
"lima", "mike", "november", "oscar", "papa",
"romeo", "sierra", "tango", "uniform", "victor",
"whiskey", "x-ray", "yankee", "zulu"
].map(name => ({name, key: name}));
const columns = [
{
name: "Name",
fieldName: "name"
}
];
const App = () => {
return (
<DetailsList
columns={columns}
items={items}
styles={{root: {maxHeight: "15em"}}}
/>
);
};
ReactDOM.render(<App />, document.getElementById("root"));
<div id="root"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.12.0/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.12.0/umd/react-dom.production.min.js"></script>
<script src="//unpkg.com/office-ui-fabric-react@7/dist/office-ui-fabric-react.js"></script>
<script src="//unpkg.com/@uifabric/react-hooks@7/dist/react-hooks.js"></script>
Я не хочу взламывать это с помощью CSS, ¹ хотя я хочу сделать это с помощью пользовательского интерфейса Fabri c way ...: -)
¹ (не потому, что CSS взломан, это не так, а потому, что я подозреваю, что есть "правильный" способ сделать это с помощью пользовательского интерфейса Fabri c)