我可以仅对html输入的字符串值的特定部分设置样式吗?

时间:2019-04-12 13:32:06

标签: javascript html css reactjs

我可以仅对输入值的一部分进行样式设置吗?

就像下面的示例(下面的代码片段)一样,我可以仅将“ @user”部分设置为粗体样式,并让“其他内容”保持不变吗?

enter image description here

如果这不可能,我正在考虑将 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_obj, container, false); TextView textView = view.findViewById(R.id.obj); return view; } div一起使用。这是另一种方法,但是行得通吗?

contexteditable
function App() {
  const [value,setValue] = React.useState('@user some other content...');
  
  function handleChange(e) {
    setValue(e.target.value);
  }
  
  return(
    <input 
      style={{width:'300px'}}
      type='text'
      value={value}
      onChange={handleChange}
    />
  );
}

const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);

1 个答案:

答案 0 :(得分:1)

表单控件仅呈现文本。样式化字符串的一部分需要html

您需要将部分字符串包装成<span>的样式

Start of string <span style="color:red">substring to style</span>

并将其放入包含元素的html