React Auto RTL文本输入

时间:2018-12-01 14:55:01

标签: reactjs right-to-left

我希望所有使用class ModelBForm(forms.ModelForm): class Meta: model = ModelB exclude = ['id', 'mod'] 的组件都能根据用户输入自动获取RTL或LTR方向。

回到过去(2或3年前),我使用jQuery选择所有这些输入并应用integer division之类的脚本。但是在React中实现此功能的最佳解决方案是什么?

1 个答案:

答案 0 :(得分:0)

围绕Input组件构建包装器,并在该组件内部执行逻辑:)然后,在代码中的任何地方都使用<CustomInput />而不是<input ...>

编辑:

附上包装输入元素的代码示例:

import React from "react";

class CustomInput extends React.Component {
    render() {
        const {onChange, ...otherProps} = this.props;
        // Please provide onChange callback to make this Input element "Controlled"
        // otherProps are there for things like default value etc. :)
        return(
            <input type="text" onChange={onChange} />
        );
    }

}

export default CustomInput;

如果您不使用任何生命周期方法,您甚至可以将该组件实现为功能

import React from "react";

const CustomInput = ({onChange, ...otherProps}) => (
    <input type="text" onChange={onChange} />;
);

export default CustomInput;