components替换，可拼装