Trên GitHub, bvaughn/react-virtualized-select đã đạt 1.2k sao, ngôn ngữ JavaScript. HOC that uses react-virtualized and react-select to display large lists of options in a drop-down
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
Hello! This package is built on react-virtualized (a library that I no longer support) and vesion 1.0 of react-select (which is no longer the current version). As such, I've decided to stop supporting this package. GitHub issues and pull requests may be ignored.
If you are interested in taking over maintenance of this package, please send me an email (see my GitHub profile) and I'd be happy to add you as a collaborator.
React Virtualized Select
Demos available here: http://bvaughn.github.io/react-virtualized-select/
Getting started
Install react-virtualized-select using npm.
npm install react-virtualized-select --save
ES6, CommonJS, and UMD builds are available with each distribution.
For example:
// Make sure to import default styles.
// This only needs to be done once; probably during bootstrapping process.
import 'react-select/dist/react-select.css'
import 'react-virtualized-select/styles.css'
// Then import the virtualized Select HOC
import VirtualizedSelect from 'react-virtualized-select'
Alternately you can load a global-friendly UMD build:
react-select-virtualized works just like react-select. You pass it an array of options, along with almost any other parameters supported by the Select component.
Try this example in Code Sandbox.
// Import default styles.
// This only needs to be done once; probably during bootstrapping process.
import "react-select/dist/react-select.css";
import "react-virtualized-select/styles.css";
import React from "react";
import ReactDOM from "react-dom";
import Select from "react-virtualized-select";
// Dummy array of test values.
const options = Array.from(new Array(1000), (_, index) => ({
label: `Item ${index}`,
value: index
}));
ReactDOM.render(
<Select options={options} />,
document.getElementById("root")
);
React Virtualized Select Props
The additional parameters introduced by react-select-virtualized are optional. They are:
Property
Type
Description
async
PropTypes.bool
Use Select.Async internally; if this property is specified then a loadOptions method should also be used.
maxHeight
PropTypes.number
Max height of options menu; defaults to 200 pixels.
optionHeight
PropTypes.number or PropTypes.func
Option height (defaults to 35 pixels). Dynamic height can be supported via a function with the signature ({ option: Object }): number
optionRenderer
PropTypes.func
Custom option renderer; (see below for signature).
selectComponent
PropTypes.func
Use a specific select HOC (eg Select, Select.Creatable, Select.Async or Select.AsyncCreatable); defaults to Select (or Select.Async if async flag is true).
Unsupported props
optionComponent is not supported for react-select-virtualized; optionRenderer must be used instead, see below for usage.
Custom Option Renderer
You can override the built-in option renderer by specifying your own optionRenderer property. Your renderer should return a React element that represents the specified option. It will be passed the following named parameters:
Property
Type
Description
focusedOption
Object
The option currently-focused in the dropdown. Use this property to determine if your rendered option should be highlighted or styled differently.
focusedOptionIndex
number
Index of the currently-focused option.
focusOption
Function
Callback to update the focused option; for example, you may want to call this function on mouse-over.
key
string
A unique identifier for each element created by the renderer.
labelKey
string
Attribute of option that contains the display text.
option
Object
The option to be rendered.
options
Array<Object>
Array of options (objects) contained in the select menu.
selectValue
Function
Callback to update the selected values; for example, you may want to call this function on click.
style
Object
Styles that must be passed to the rendered option. These styles are specifying the position of each option (required for correct option displaying in the dropdown).
valueArray
Array<Object>
Array of the currently-selected options. Use this property to determine if your rendered option should be highlighted or styled differently.
valueKey
string
Attribute of option that contains the value.
optionRenderer example
It should be noted that in order to successfully set the active index in your custom renderer, you need to call the selectValue prop. A common pattern is to bind onto your onClick handler in your custom element. The example that follows also provides the required style prop (as noted above), which is necessary to properly position the element. Refer to the full example for the complete usage.
bvaughn/react-virtualized-select có phải mã nguồn mở không?
Có — bvaughn/react-virtualized-select phát hành theo license MIT, nghĩa là mã nguồn mở để đọc, fork và (tùy license) tái sử dụng. Mã: github.com/bvaughn/react-virtualized-select.
bvaughn/react-virtualized-select là gì?
bvaughn/react-virtualized-select (bvaughn/react-virtualized-select) là dự án JavaScript trên GitHub. Theo mô tả gốc: HOC that uses react-virtualized and react-select to display large lists of options in a drop-down
Đọc thêm về bvaughn/react-virtualized-select ở đâu?
Trang TopGit này là một snapshot — tab "Readme" hiển thị nguyên văn README của repo (đã bỏ link, giữ ảnh). Repo GitHub ở github.com/bvaughn/react-virtualized-select là nguồn chính thức.
Đọc đầy đủ README ở tab phía trên.
react-virtualized-select có đáng để bạn bỏ thời gian?
ChatGPT, Claude và Perplexity đều đọc được trang này. Hỏi thử xem họ nghĩ gì về react-virtualized-select.